
[dbo].[amsp_CMCopyContentRow]
CREATE PROCEDURE [dbo].[amsp_CMCopyContentRow]
@InContentID numeric,
@InContactID numeric,
@OutContentID numeric OUTPUT
AS
BEGIN
DECLARE
@ColumnList nvarchar(4000),
@InsertQuery nvarchar(4000)
CREATE TABLE #SkipColumn (SkipColumnName varchar(255))
EXECUTE amsp_GetTableColumnList 'Content', @ColumnList OUTPUT, 'N', 'WorkflowStatusCode', 'PreviousContentID', 'PublishDateTime', 'ContactID'
SET @InsertQuery = 'INSERT INTO Content (' + @ColumnList + ',WorkflowStatusCode, PreviousContentID, ContactID) SELECT ' + @ColumnList + ',''W'',' + CAST(@InContentID AS varchar) + ',' + CAST(@InContactID AS varchar)+ ' FROM Content WHERE ContentID = ' + CAST(@InContentID AS varchar)
EXECUTE sp_executesql @InsertQuery
SET @OutContentID = @@Identity
EXECUTE amsp_GetTableColumnList 'Content_HTML', @ColumnList OUTPUT
SET @InsertQuery = 'INSERT INTO Content_HTML (' + @ColumnList + ',ContentID) SELECT ' + @ColumnList + ',' + CAST(@OutContentID AS varchar) + ' FROM Content_HTML WHERE ContentID = ' + CAST(@InContentID AS varchar)
EXECUTE sp_executesql @InsertQuery
EXECUTE amsp_GetTableColumnList 'Content_Link', @ColumnList OUTPUT, 'N', 'ContentID', 'PreviousContentLinkID'
SET @InsertQuery = 'INSERT INTO Content_Link (' + @ColumnList + ',ContentID, PreviousContentLinkID) SELECT ' + @ColumnList + ',' + CAST(@OutContentID AS varchar) + ',CAST(ContentLinkID AS varchar)' + ' FROM Content_Link WHERE ContentID = ' + CAST(@InContentID AS varchar)
EXECUTE sp_executesql @InsertQuery
UPDATE Content_Link
SET LinkURL = Replace(LinkURL, 'ContentID=' + Convert(varchar(10), @InContentID), 'ContentID=' + Convert(varchar(10), @OutContentID))
WHERE ContentID = @OutContentID
EXECUTE amsp_GetTableColumnList 'Content_File', @ColumnList OUTPUT, 'N', 'ContentID','PreviousContentFileID'
SET @InsertQuery = 'INSERT INTO Content_File (' + @ColumnList + ',ContentID,PreviousContentFileID) SELECT ' + @ColumnList + ',' + CAST(@OutContentID AS varchar) + ',CAST(ContentFileID AS varchar) FROM Content_File WHERE ContentID = ' + CAST(@InContentID AS varchar)
EXECUTE sp_executesql @InsertQuery
EXECUTE amsp_GetTableColumnList 'Tagged_Page_Interest_Category', @ColumnList OUTPUT, 'Y', 'ContentID'
SET @InsertQuery = 'INSERT INTO Tagged_Page_Interest_Category (' + @ColumnList + ',ContentID) SELECT ' + @ColumnList + ',' + CAST(@OutContentID AS varchar) + ' FROM Tagged_Page_Interest_Category WHERE ContentID = ' + CAST(@InContentID AS varchar)
EXECUTE sp_executesql @InsertQuery
EXECUTE amsp_GetTableColumnList 'Component_Interest_Category', @ColumnList OUTPUT,'Y','ComponentID'
SET @InsertQuery = 'INSERT INTO Component_Interest_Category (' + @ColumnList + ',ComponentID) SELECT ' + @ColumnList + ',' + CAST(@OutContentID AS varchar) + ' FROM Component_Interest_Category WHERE ComponentCode = ''CM'' AND ComponentID = ' + CAST(@InContentID AS varchar)
EXECUTE sp_executesql @InsertQuery
EXECUTE amsp_GetTableColumnList 'Content_Security_Group', @ColumnList OUTPUT,'Y','ContentID'
SET @InsertQuery = 'INSERT INTO Content_Security_Group (' + @ColumnList + ',ContentID) SELECT ' + @ColumnList + ',' + CAST(@OutContentID AS varchar) + ' FROM Content_Security_Group WHERE ContentID = ' + CAST(@InContentID AS varchar)
EXECUTE sp_executesql @InsertQuery
EXECUTE amsp_GetTableColumnList 'Content_Change_Request', @ColumnList OUTPUT,'N','ContentID'
SET @InsertQuery = 'INSERT INTO Content_Change_Request (' + @ColumnList + ',ContentID) SELECT ' + @ColumnList + ',' + CAST(@OutContentID AS varchar) + ' FROM Content_Change_Request WHERE RequestStatusCode = ''A'' AND ContentID = ' + CAST(@InContentID AS varchar)
EXECUTE sp_executesql @InsertQuery
INSERT INTO Content_Workflow_Log (ContentID, WorkflowStatusCode, ContactID, ChangeDateTime)
VALUES (@OutContentID,'W',@InContactID, CURRENT_TIMESTAMP)
END
GO